package datastructure.stackAndQueue;

public interface Stack {
	
  //Modifiers
	/**
	 * Make this stack empty
	 */
	public void clear();
	
	/**
	 * Add val as the top element on this stack
	 */
	public void push(Object val);
	
	/**
	 * Remove and return the top element from the stack
	 * @return Object
	 */
	public Object pop();
	
  //Accessors
	/**
	 * Return true if and only if this stack is empty
	 */
	public boolean isEmpty();
	
	/**
	 * Returns the number of elements on the stack
	 * @return int
	 */
	public int size();
	
	/**
	 * Return the element at the top of this stack
	 * @return Object
	 */
	public Object peek();
	
}
